home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue63 / Docking / DockedControls2U.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2000-09-13  |  1.5 KB  |  58 lines

  1. unit DockedControls2U;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   ComCtrls, ToolWin, StdCtrls, ImgList;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     ToolBar1: TToolBar;
  12.     ToolButton1: TToolButton;
  13.     ToolButton2: TToolButton;
  14.     ToolButton3: TToolButton;
  15.     ToolButton4: TToolButton;
  16.     ToolButton5: TToolButton;
  17.     ImageList1: TImageList;
  18.     Label1: TLabel;
  19.     procedure ToolBar1MouseDown(Sender: TObject; Button: TMouseButton;
  20.       Shift: TShiftState; X, Y: Integer);
  21.     procedure FormCreate(Sender: TObject);
  22.     procedure ToolBar1EndDock(Sender, Target: TObject; X, Y: Integer);
  23.   private
  24.     { Private declarations }
  25.   public
  26.     { Public declarations }
  27.   end;
  28.  
  29. var
  30.   Form1: TForm1;
  31.  
  32. implementation
  33.  
  34. {$R *.DFM}
  35.  
  36. procedure TForm1.ToolBar1MouseDown(Sender: TObject; Button: TMouseButton;
  37.   Shift: TShiftState; X, Y: Integer);
  38. begin
  39. //Can do this for each control to stop undocking happening immediately,
  40. //but it is easier to write a single statement in the form's OnCreate handler
  41. {  if Button = mbLeft then
  42.     (Sender as TControl).BeginDrag(False)}
  43. end;
  44.  
  45. procedure TForm1.FormCreate(Sender: TObject);
  46. begin
  47.   Mouse.DragImmediate := False
  48. end;
  49.  
  50. procedure TForm1.ToolBar1EndDock(Sender, Target: TObject; X, Y: Integer);
  51. begin
  52.   //Make sure toolbar's Align property is reset when it gets docked in the form
  53.   if (Sender is TToolBar) and (Target is TCustomForm) then
  54.     TToolBar(Sender).Align := alTop
  55. end;
  56.  
  57. end.
  58.